
package server.commands;


import client.*;
import client.anticheat.CheatingOffense;
import client.inventory.*;
import client.skills.Skill;
import client.skills.SkillFactory;
import com.alibaba.druid.pool.DruidPooledConnection;
import configs.ServerConfig;
import constants.BattleConstants;
import constants.ItemConstants;
import database.DatabaseConnection;
import handling.channel.ChannelServer;
import handling.world.World;
import handling.world.WorldBroadcastService;
import server.Timer;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import server.MapleInventoryManipulator;
import server.MapleItemInformationProvider;
import server.MapleSignin;
import server.RankingTop;
import server.life.*;
import server.maps.*;
import server.quest.MapleQuest;
import server.squad.MapleSquad;
import tools.HexTool;
import tools.MaplePacketCreator;
import tools.Randomizer;
import tools.StringUtil;
import tools.packet.MobPacket;
import tools.packet.NPCPacket;

import java.awt.*;
import java.io.InputStream;
import java.io.Serializable;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.*;
import java.util.List;













































 public class SuperGMCommand {
    /*   48 */   private static final Logger log = LogManager.getLogger(SuperGMCommand.class);






    public static PlayerGMRank getPlayerLevelRequired() {
        /*   54 */
        return PlayerGMRank.SUPERGM;

    }



       public static class GiveSkill
             extends CommandExecute
             {

        public String getParameter() {
            /*   62 */
            return "<玩家名字> <技能ID> <技能等级> <技能最大等级> [技能等级可以随便填写]";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*   67 */
            if (splitted.length < 4) {
                /*   68 */
                c.getPlayer().dropMessage(6, "用法: !giveskill " + getParameter());
                /*   69 */
                return 0;

            }
            /*   71 */
            MapleCharacter victim = c.getChannelServer().getPlayerStorage().getCharacterByName(splitted[1]);
            /*   72 */
            Skill skill = SkillFactory.getSkill(Integer.parseInt(splitted[2]));
            /*   73 */
            byte level = (byte) CommandProcessorUtil.getOptionalIntArg(splitted, 3, 1);
            /*   74 */
            byte masterlevel = (byte) CommandProcessorUtil.getOptionalIntArg(splitted, 4, 1);
            /*   75 */
            if (level > skill.getMaxLevel()) {
                /*   76 */
                level = (byte) skill.getMaxLevel();

            }
            /*   78 */
            if (masterlevel > skill.getMaxLevel()) {
                /*   79 */
                masterlevel = (byte) skill.getMaxLevel();

            }
            /*   81 */
            victim.changeSingleSkillLevel(skill, level, masterlevel);
            /*   82 */
            c.dropMessage("技能添加成功。");
            /*   83 */
            return 1;

        }

    }



       public static class UnlockInv
             extends CommandExecute
             {

        public String getParameter() {
            /*   92 */
            return "<all/eqp/eq/u/s/e/c> //all:所有装备 eqp:已穿戴装备 eq:装备栏 u:消耗栏 s:设置栏 e:其他栏 c:特殊栏";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*   97 */
            Map<Item, MapleInventoryType> eqs = new HashMap<>();
            /*   98 */
            boolean add = false;
            /*   99 */
            if (splitted.length < 2 || splitted[1].equals("all")) {
                /*  100 */
                for (MapleInventoryType type : MapleInventoryType.values()) {
                    /*  101 */
                    for (Item item : c.getPlayer().getInventory(type)) {
                        /*  102 */
                        if (ItemFlag.封印.check(item.getFlag())) {
                            /*  103 */
                            item.setFlag((short) (byte) (item.getFlag() - ItemFlag.封印.getValue()));
                            /*  104 */
                            add = true;

                        }

                        /*  107 */
                        if (ItemFlag.不可交易.check(item.getFlag())) {
                            /*  108 */
                            item.setFlag((short) (byte) (item.getFlag() - ItemFlag.不可交易.getValue()));
                            /*  109 */
                            add = true;

                        }

                        /*  112 */
                        if (add) {
                            /*  113 */
                            eqs.put(item, type);

                        }
                        /*  115 */
                        add = false;

                    }

                }
                /*  118 */
            } else if (splitted[1].equals("eqp")) {
                /*  119 */
                for (Item item : c.getPlayer().getInventory(MapleInventoryType.EQUIPPED).newList()) {
                    /*  120 */
                    if (ItemFlag.封印.check(item.getFlag())) {
                        /*  121 */
                        item.setFlag((short) (byte) (item.getFlag() - ItemFlag.封印.getValue()));
                        /*  122 */
                        add = true;

                    }

                    /*  125 */
                    if (ItemFlag.不可交易.check(item.getFlag())) {
                        /*  126 */
                        item.setFlag((short) (byte) (item.getFlag() - ItemFlag.不可交易.getValue()));
                        /*  127 */
                        add = true;

                    }

                    /*  130 */
                    if (add) {
                        /*  131 */
                        eqs.put(item, MapleInventoryType.EQUIP);

                    }
                    /*  133 */
                    add = false;

                }
                /*  135 */
            } else if (splitted[1].equals("eq")) {
                /*  136 */
                for (Item item : c.getPlayer().getInventory(MapleInventoryType.EQUIP)) {
                    /*  137 */
                    if (ItemFlag.封印.check(item.getFlag())) {
                        /*  138 */
                        item.setFlag((short) (byte) (item.getFlag() - ItemFlag.封印.getValue()));
                        /*  139 */
                        add = true;

                    }

                    /*  142 */
                    if (ItemFlag.不可交易.check(item.getFlag())) {
                        /*  143 */
                        item.setFlag((short) (byte) (item.getFlag() - ItemFlag.不可交易.getValue()));
                        /*  144 */
                        add = true;

                    }

                    /*  147 */
                    if (add) {
                        /*  148 */
                        eqs.put(item, MapleInventoryType.EQUIP);

                    }
                    /*  150 */
                    add = false;

                }
                /*  152 */
            } else if (splitted[1].equals("u")) {
                /*  153 */
                for (Item item : c.getPlayer().getInventory(MapleInventoryType.USE)) {
                    /*  154 */
                    if (ItemFlag.封印.check(item.getFlag())) {
                        /*  155 */
                        item.setFlag((short) (byte) (item.getFlag() - ItemFlag.封印.getValue()));
                        /*  156 */
                        add = true;

                    }

                    /*  159 */
                    if (ItemFlag.不可交易.check(item.getFlag())) {
                        /*  160 */
                        item.setFlag((short) (byte) (item.getFlag() - ItemFlag.不可交易.getValue()));
                        /*  161 */
                        add = true;

                    }

                    /*  164 */
                    if (add) {
                        /*  165 */
                        eqs.put(item, MapleInventoryType.USE);

                    }
                    /*  167 */
                    add = false;

                }
                /*  169 */
            } else if (splitted[1].equals("s")) {
                /*  170 */
                for (Item item : c.getPlayer().getInventory(MapleInventoryType.SETUP)) {
                    /*  171 */
                    if (ItemFlag.封印.check(item.getFlag())) {
                        /*  172 */
                        item.setFlag((short) (byte) (item.getFlag() - ItemFlag.封印.getValue()));
                        /*  173 */
                        add = true;

                    }

                    /*  176 */
                    if (ItemFlag.不可交易.check(item.getFlag())) {
                        /*  177 */
                        item.setFlag((short) (byte) (item.getFlag() - ItemFlag.不可交易.getValue()));
                        /*  178 */
                        add = true;

                    }

                    /*  181 */
                    if (add) {
                        /*  182 */
                        eqs.put(item, MapleInventoryType.SETUP);

                    }
                    /*  184 */
                    add = false;

                }
                /*  186 */
            } else if (splitted[1].equals("e")) {
                /*  187 */
                for (Item item : c.getPlayer().getInventory(MapleInventoryType.ETC)) {
                    /*  188 */
                    if (ItemFlag.封印.check(item.getFlag())) {
                        /*  189 */
                        item.setFlag((short) (byte) (item.getFlag() - ItemFlag.封印.getValue()));
                        /*  190 */
                        add = true;

                    }

                    /*  193 */
                    if (ItemFlag.不可交易.check(item.getFlag())) {
                        /*  194 */
                        item.setFlag((short) (byte) (item.getFlag() - ItemFlag.不可交易.getValue()));
                        /*  195 */
                        add = true;

                    }

                    /*  198 */
                    if (add) {
                        /*  199 */
                        eqs.put(item, MapleInventoryType.ETC);

                    }
                    /*  201 */
                    add = false;

                }
                /*  203 */
            } else if (splitted[1].equals("c")) {
                /*  204 */
                for (Item item : c.getPlayer().getInventory(MapleInventoryType.CASH)) {
                    /*  205 */
                    if (ItemFlag.封印.check(item.getFlag())) {
                        /*  206 */
                        item.setFlag((short) (byte) (item.getFlag() - ItemFlag.封印.getValue()));
                        /*  207 */
                        add = true;

                    }

                    /*  210 */
                    if (ItemFlag.不可交易.check(item.getFlag())) {
                        /*  211 */
                        item.setFlag((short) (byte) (item.getFlag() - ItemFlag.不可交易.getValue()));
                        /*  212 */
                        add = true;

                    }

                    /*  215 */
                    if (add) {
                        /*  216 */
                        eqs.put(item, MapleInventoryType.CASH);

                    }
                    /*  218 */
                    add = false;

                }

            } else {
                /*  221 */
                c.getPlayer().dropMessage(6, "用法: !UnlockInv " + getParameter());

            }

            /*  224 */
            for (Map.Entry<Item, MapleInventoryType> eq : eqs.entrySet()) {
                /*  225 */
                c.getPlayer().forceUpdateItem(((Item) eq.getKey()).copy());

            }
            /*  227 */
            return 1;

        }

    }



       public static class Drop
             extends CommandExecute
             {

        public String getParameter() {
            /*  236 */
            return "<道具ID>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  241 */
            if (splitted.length < 2) {
                /*  242 */
                c.getPlayer().dropMessage(6, "用法: !Drop " + getParameter());
                /*  243 */
                return 0;

            }
            /*  245 */
            int itemId = Integer.parseInt(splitted[1]);
            /*  246 */
            short quantity = (short) CommandProcessorUtil.getOptionalIntArg(splitted, 2, 1);
            /*  247 */
            MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
            /*  248 */
            if (ItemConstants.isPet(itemId)) {
                /*  249 */
                c.getPlayer().dropMessage(5, "宠物道具请通过商城购买.");
                /*  250 */
            } else if (!ii.itemExists(itemId)) {
                /*  251 */
                c.getPlayer().dropMessage(5, itemId + " 不存在.");

            } else {

                Item toDrop=null;
                /*  254 */
                if (ItemConstants.getInventoryType(itemId) == MapleInventoryType.EQUIP) {
                    /*  255 */
                    Equip equip = ii.randomizeStats((Equip) ii.getEquipById(itemId));

                } else {
                    /*  257 */
                    toDrop = new Item(itemId, (short) 0, quantity, (short) 0);

                }
                /*  259 */
                if (!c.getPlayer().isAdmin()) {
                    /*  260 */
                    toDrop.setGMLog(c.getPlayer().getName() + " 使用 !drop");
                    /*  261 */
                    toDrop.setOwner(c.getPlayer().getName());

                }
                /*  263 */
                c.getPlayer().getMap().spawnItemDrop((MapleMapObject) c.getPlayer(), c.getPlayer(), toDrop, c.getPlayer().getPosition(), true, true);
                /*  264 */
                c.getPlayer().dropMessage(6, "使用命令成功，丢出道具: " + toDrop.getItemId() + " - " + ii.getName(toDrop.getItemId()) + " 数量: " + toDrop.getQuantity());
                /*  265 */
                SuperGMCommand.log.info("[命令] 管理员 " + c.getPlayer().getName() + " 丢道具: " + toDrop.getItemId() + " 数量: " + toDrop.getQuantity() + " 名称: " + ii.getName(toDrop.getItemId()));

            }
            /*  267 */
            return 1;

        }

    }



       public static class Marry
             extends CommandExecute
             {

        public String getParameter() {
            /*  276 */
            return "<角色名> <戒指ID>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  281 */
            if (splitted.length < 3) {
                /*  282 */
                c.getPlayer().dropMessage(6, "用法: !Marry " + getParameter());
                /*  283 */
                return 0;

            }
            /*  285 */
            int itemId = Integer.parseInt(splitted[2]);
            /*  286 */
            if (!ItemConstants.isEffectRing(itemId)) {
                /*  287 */
                c.getPlayer().dropMessage(6, "Invalid itemID.");

            } else {
                /*  289 */
                MapleCharacter fff = c.getChannelServer().getPlayerStorage().getCharacterByName(splitted[1]);
                /*  290 */
                if (fff == null) {
                    /*  291 */
                    c.getPlayer().dropMessage(6, "玩家必须在线.");

                } else {
                    /*  293 */
                    int[] ringID = {MapleInventoryIdentifier.getInstance(), MapleInventoryIdentifier.getInstance()};

                    try {
                        /*  295 */
                        MapleCharacter[] chrz = {fff, c.getPlayer()};
                        /*  296 */
                        for (int i = 0; i < chrz.length; i++) {
                            /*  297 */
                            Equip eq = (Equip) MapleItemInformationProvider.getInstance().getEquipById(itemId, ringID[i]);
                            /*  298 */
                            if (eq == null) {
                                /*  299 */
                                c.getPlayer().dropMessage(6, "Invalid itemID.");
                                /*  300 */
                                return 0;

                            }
                            /*  302 */
                            MapleInventoryManipulator.addbyItem(chrz[i].getClient(), eq.copy());
                            /*  303 */
                            chrz[i].dropMessage(6, "结婚成功 " + chrz[(i == 0) ? 1 : 0].getName());

                        }
                        /*  305 */
                        MapleRing.addToDB(itemId, c.getPlayer(), fff.getName(), fff.getId(), ringID);
                        /*  306 */
                    } catch (SQLException e) {
                        /*  307 */
                        e.printStackTrace();

                    }

                }

            }
            /*  311 */
            return 1;

        }

    }



       public static class GivePoint
             extends CommandExecute
             {

        public String getParameter() {
            /*  320 */
            return "<角色名> <活动点数>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  325 */
            if (splitted.length < 3) {
                /*  326 */
                c.getPlayer().dropMessage(6, "用法: !GivePoint " + getParameter());
                /*  327 */
                return 0;

            }
            /*  329 */
            MapleCharacter chrs = c.getChannelServer().getPlayerStorage().getCharacterByName(splitted[1]);
            /*  330 */
            if (chrs == null) {
                /*  331 */
                c.getPlayer().dropMessage(6, "错误: 要操作的玩家必须是在同一线或者玩家不存在.");

            } else {
                /*  333 */
                chrs.setPoints(chrs.getPoints() + Integer.parseInt(splitted[2]));
                /*  334 */
                c.getPlayer().dropMessage(6, splitted[1] + " has " + chrs.getPoints() + " points, after giving " + splitted[2] + ".");

            }
            /*  336 */
            return 1;

        }

    }



       public static class GiveVPoint
             extends CommandExecute
             {

        public String getParameter() {
            /*  345 */
            return "<角色名> <活动点数>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  350 */
            if (splitted.length < 3) {
                /*  351 */
                c.getPlayer().dropMessage(6, "用法: !GiveVPoint " + getParameter());
                /*  352 */
                return 0;

            }
            /*  354 */
            MapleCharacter chrs = c.getChannelServer().getPlayerStorage().getCharacterByName(splitted[1]);
            /*  355 */
            if (chrs == null) {
                /*  356 */
                c.getPlayer().dropMessage(6, "错误: 要操作的玩家必须是在同一线或者玩家不存在.");

            } else {
                /*  358 */
                chrs.setVPoints(chrs.getVPoints() + Integer.parseInt(splitted[2]));
                /*  359 */
                c.getPlayer().dropMessage(6, splitted[1] + " has " + chrs.getVPoints() + " vpoints, after giving " + splitted[2] + ".");

            }
            /*  361 */
            return 1;

        }

    }



       public static class SpeakMap
             extends CommandExecute
             {

        public String getParameter() {
            /*  370 */
            return "<聊天内容>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  375 */
            for (MapleCharacter victim : c.getPlayer().getMap().getCharactersThreadsafe()) {
                /*  376 */
                if (victim.getId() != c.getPlayer().getId()) {
                    /*  377 */
                    victim.getMap().broadcastMessage(MaplePacketCreator.getChatText(victim.getId(), StringUtil.joinStringFrom(splitted, 1), victim.getName(), victim.isGM(), 0));

                }

            }
            /*  380 */
            return 1;

        }

    }



       public static class SpeakChn
             extends CommandExecute
             {

        public String getParameter() {
            /*  389 */
            return "<聊天内容>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  394 */
            for (MapleCharacter victim : c.getChannelServer().getPlayerStorage().getAllCharacters()) {
                /*  395 */
                if (victim.getId() != c.getPlayer().getId()) {
                    /*  396 */
                    victim.getMap().broadcastMessage(MaplePacketCreator.getChatText(victim.getId(), StringUtil.joinStringFrom(splitted, 1), victim.getName(), victim.isGM(), 0));

                }

            }
            /*  399 */
            return 1;

        }

    }



       public static class SpeakWorld
             extends CommandExecute
             {

        public String getParameter() {
            /*  408 */
            return "<聊天内容>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  413 */
            for (ChannelServer cserv : ChannelServer.getAllInstances()) {
                /*  414 */
                for (MapleCharacter victim : cserv.getPlayerStorage().getAllCharacters()) {
                    /*  415 */
                    if (victim.getId() != c.getPlayer().getId()) {
                        /*  416 */
                        victim.getMap().broadcastMessage(MaplePacketCreator.getChatText(victim.getId(), StringUtil.joinStringFrom(splitted, 1), victim.getName(), victim.isGM(), 0));

                    }

                }

            }
            /*  420 */
            return 1;

        }

    }



       public static class seeplayer
             extends CommandExecute
             {

        public String getParameter() {
            /*  429 */
            return "<角色名>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  434 */
            if (splitted.length < 2) {
                /*  435 */
                c.getPlayer().dropMessage(6, "用法: !seeplayer " + getParameter());
                /*  436 */
                return 0;

            }
            /*  438 */
            MapleCharacter target = c.getChannelServer().getPlayerStorage().getCharacterByName(splitted[1]);
            /*  439 */
            if (target != null) {
                /*  440 */
                if (target.getClient().isMonitored()) {
                    /*  441 */
                    target.getClient().setMonitored(false);
                    /*  442 */
                    c.getPlayer().dropMessage(5, "停止对 " + target.getName() + " 的监视.");

                } else {
                    /*  444 */
                    target.getClient().setMonitored(true);
                    /*  445 */
                    c.getPlayer().dropMessage(5, "开始监视 " + target.getName() + " 的信息.");

                }

            } else {
                /*  448 */
                c.getPlayer().dropMessage(5, "当前频道没有找到该玩家.");
                /*  449 */
                return 0;

            }
            /*  451 */
            return 1;

        }

    }



       public static class ResetOther
             extends CommandExecute
             {

        public String getParameter() {
            /*  460 */
            return "<角色名> <任务ID>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  465 */
            if (splitted.length < 3) {
                /*  466 */
                c.getPlayer().dropMessage(6, "用法: !ResetOther " + getParameter());
                /*  467 */
                return 0;

            }
            /*  469 */
            MapleQuest.getInstance(Integer.parseInt(splitted[2])).forfeit(c.getChannelServer().getPlayerStorage().getCharacterByName(splitted[1]));
            /*  470 */
            return 1;

        }

    }



       public static class FStartOther
             extends CommandExecute
             {

        public String getParameter() {
            /*  479 */
            return "<角色名> <任务ID> <NPCID> <任务数据>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  484 */
            if (splitted.length < 4) {
                /*  485 */
                c.getPlayer().dropMessage(6, "用法: !FStartOther " + getParameter());
                /*  486 */
                return 0;

            }
            /*  488 */
            MapleQuest.getInstance(Integer.parseInt(splitted[2])).forceStart(c.getChannelServer().getPlayerStorage().getCharacterByName(splitted[1]), Integer.parseInt(splitted[3]), (splitted.length > 4) ? splitted[4] : null);
            /*  489 */
            return 1;

        }

    }



       public static class FCompleteOther
             extends CommandExecute
             {

        public String getParameter() {
            /*  498 */
            return "<角色名> <任务ID> <NPCID>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  503 */
            if (splitted.length < 4) {
                /*  504 */
                c.getPlayer().dropMessage(6, "用法: !FCompleteOther " + getParameter());
                /*  505 */
                return 0;

            }
            /*  507 */
            MapleQuest.getInstance(Integer.parseInt(splitted[2])).forceComplete(c.getChannelServer().getPlayerStorage().getCharacterByName(splitted[1]), Integer.parseInt(splitted[3]));
            /*  508 */
            return 1;

        }

    }



       public static class Threads
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /*  517 */
            Thread[] threads = new Thread[Thread.activeCount()];
            /*  518 */
            Thread.enumerate(threads);
            /*  519 */
            String filter = "";
            /*  520 */
            if (splitted.length > 1) {
                /*  521 */
                filter = splitted[1];

            }
            /*  523 */
            for (int i = 0; i < threads.length; i++) {
                /*  524 */
                String tstring = threads[i].toString();
                /*  525 */
                if (tstring.toLowerCase().contains(filter.toLowerCase())) {
                    /*  526 */
                    c.getPlayer().dropMessage(6, i + ": " + tstring);

                }

            }
            /*  529 */
            return 1;

        }

    }



       public static class ShowTrace
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /*  538 */
            if (splitted.length < 2) {
                /*  539 */
                throw new IllegalArgumentException();

            }
            /*  541 */
            Thread[] threads = new Thread[Thread.activeCount()];
            /*  542 */
            Thread.enumerate(threads);
            /*  543 */
            Thread t = threads[Integer.parseInt(splitted[1])];
            /*  544 */
            c.getPlayer().dropMessage(6, t.toString() + ":");
            /*  545 */
            for (StackTraceElement elem : t.getStackTrace()) {
                /*  546 */
                c.getPlayer().dropMessage(6, elem.toString());

            }
            /*  548 */
            return 1;

        }

    }



       public static class ToggleOffense
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {

            try {
                /*  558 */
                CheatingOffense co = CheatingOffense.valueOf(splitted[1]);
                /*  559 */
                co.setEnabled(!co.isEnabled());
                /*  560 */
            } catch (IllegalArgumentException iae) {
                /*  561 */
                c.getPlayer().dropMessage(6, "Offense " + splitted[1] + " not found");

            }
            /*  563 */
            return 1;

        }

    }



       public static class TMegaphone
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /*  572 */
            World.toggleMegaphoneMuteState();
            /*  573 */
            c.getPlayer().dropMessage(6, "Megaphone state : " + (c.getChannelServer().getMegaphoneMuteState() ? "Enabled" : "Disabled"));
            /*  574 */
            return 1;

        }

    }



       public static class SReactor
             extends CommandExecute
             {

        public String getParameter() {
            /*  583 */
            return "<ReactorID>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  588 */
            if (splitted.length < 2) {
                /*  589 */
                c.getPlayer().dropMessage(6, "用法: !SReactor " + getParameter());
                /*  590 */
                return 0;

            }
            /*  592 */
            MapleReactor reactor = new MapleReactor(MapleReactorFactory.getReactor(Integer.parseInt(splitted[1])), Integer.parseInt(splitted[1]));
            /*  593 */
            reactor.setDelay(-1);
            /*  594 */
            c.getPlayer().getMap().spawnReactorOnGroundBelow(reactor, new Point((c.getPlayer().getTruePosition()).x, (c.getPlayer().getTruePosition()).y - 20));
            /*  595 */
            return 1;

        }

    }



       public static class ClearSquads
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /*  604 */
            Collection<MapleSquad> squadz = new ArrayList<>(c.getChannelServer().getAllSquads().values());
            /*  605 */
            for (MapleSquad squads : squadz) {
                /*  606 */
                squads.clear();

            }
            /*  608 */
            c.getPlayer().dropMessage(6, "清理远征队伍信息完成.");
            /*  609 */
            return 1;

        }

    }



       public static class HitMonsterByOID
             extends CommandExecute
             {

        public String getParameter() {
            /*  618 */
            return "<怪物OID> <伤害值>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  623 */
            if (splitted.length < 3) {
                /*  624 */
                c.getPlayer().dropMessage(6, "用法: !HitMonsterByOID " + getParameter());
                /*  625 */
                return 0;

            }
            /*  627 */
            MapleMap map = c.getPlayer().getMap();
            /*  628 */
            int targetId = Integer.parseInt(splitted[1]);
            /*  629 */
            int damage = Integer.parseInt(splitted[2]);
            /*  630 */
            MapleMonster monster = map.getMonsterByOid(targetId);
            /*  631 */
            if (monster != null) {
                /*  632 */
                map.broadcastMessage(MobPacket.damageMonster(targetId, damage));
                /*  633 */
                monster.damage(c.getPlayer(), damage, false);

            }
            /*  635 */
            return 1;

        }

    }



       public static class HitAll
             extends CommandExecute
             {

        public String getParameter() {
            /*  644 */
            return "<伤害值> <地图ID> 或留空";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  649 */
            MapleMap map = c.getPlayer().getMap();
            /*  650 */
            double range = Double.POSITIVE_INFINITY;
            /*  651 */
            if (splitted.length > 1) {
                /*  652 */
                int irange = Integer.parseInt(splitted[1]);
                /*  653 */
                if (splitted.length <= 2) {
                    /*  654 */
                    range = (irange * irange);

                } else {
                    /*  656 */
                    map = c.getChannelServer().getMapFactory().getMap(Integer.parseInt(splitted[2]));

                }

            } else {
                /*  659 */
                c.getPlayer().dropMessage(6, "用法: !HitAll " + getParameter());
                /*  660 */
                return 0;

            }
            /*  662 */
            if (map == null) {
                /*  663 */
                c.getPlayer().dropMessage(6, "输入的地图不存在.");
                /*  664 */
                return 0;

            }
            /*  666 */
            int damage = Integer.parseInt(splitted[1]);

            /*  668 */
            for (MapleMapObject monstermo : map.getMapObjectsInRange(c.getPlayer().getPosition(), range, Collections.singletonList(MapleMapObjectType.MONSTER))) {
                /*  669 */
                MapleMonster mob = (MapleMonster) monstermo;
                /*  670 */
                map.broadcastMessage(MobPacket.damageMonster(mob.getObjectId(), damage));
                /*  671 */
                mob.damage(c.getPlayer(), damage, false);

            }
            /*  673 */
            return 1;

        }

    }



       public static class HitMonster
             extends CommandExecute
             {

        public String getParameter() {
            /*  682 */
            return "<怪物ID> <伤害值>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  687 */
            if (splitted.length < 3) {
                /*  688 */
                c.getPlayer().dropMessage(6, "用法: !HitMonster " + getParameter());
                /*  689 */
                return 0;

            }
            /*  691 */
            MapleMap map = c.getPlayer().getMap();
            /*  692 */
            double range = Double.POSITIVE_INFINITY;
            /*  693 */
            int damage = Integer.parseInt(splitted[2]);

            /*  695 */
            for (MapleMapObject monstermo : map.getMapObjectsInRange(c.getPlayer().getPosition(), range, Collections.singletonList(MapleMapObjectType.MONSTER))) {
                /*  696 */
                MapleMonster mob = (MapleMonster) monstermo;
                /*  697 */
                if (mob.getId() == Integer.parseInt(splitted[1])) {
                    /*  698 */
                    map.broadcastMessage(MobPacket.damageMonster(mob.getObjectId(), damage));
                    /*  699 */
                    mob.damage(c.getPlayer(), damage, false);

                }

            }
            /*  702 */
            return 1;

        }

    }



       public static class KillMonster
             extends CommandExecute
             {

        public String getParameter() {
            /*  711 */
            return "<怪物ID>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  716 */
            if (splitted.length < 2) {
                /*  717 */
                c.getPlayer().dropMessage(6, "用法: !KillMonster " + getParameter());
                /*  718 */
                return 0;

            }
            /*  720 */
            MapleMap map = c.getPlayer().getMap();
            /*  721 */
            double range = Double.POSITIVE_INFINITY;

            /*  723 */
            for (MapleMapObject monstermo : map.getMapObjectsInRange(c.getPlayer().getPosition(), range, Collections.singletonList(MapleMapObjectType.MONSTER))) {
                /*  724 */
                MapleMonster mob = (MapleMonster) monstermo;
                /*  725 */
                if (mob.getId() == Integer.parseInt(splitted[1])) {
                    /*  726 */
                    mob.damage(c.getPlayer(), mob.getHp(), false);

                }

            }
            /*  729 */
            return 1;

        }

    }



       public static class KillAllDrops
             extends CommandExecute
             {

        public String getParameter() {
            /*  738 */
            return "<范围> <地图ID> 或留空";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  743 */
            MapleMap map = c.getPlayer().getMap();
            /*  744 */
            double range = Double.POSITIVE_INFINITY;

            /*  746 */
            if (splitted.length > 1) {

                /*  748 */
                int irange = Integer.parseInt(splitted[1]);
                /*  749 */
                if (splitted.length <= 2) {
                    /*  750 */
                    range = (irange * irange);

                } else {
                    /*  752 */
                    map = c.getChannelServer().getMapFactory().getMap(Integer.parseInt(splitted[2]));

                }

            }
            /*  755 */
            if (map == null) {
                /*  756 */
                c.getPlayer().dropMessage(6, "输入的地图不存在.");
                /*  757 */
                return 0;

            }

            /*  760 */
            for (MapleMapObject monstermo : map.getMapObjectsInRange(c.getPlayer().getPosition(), range, Collections.singletonList(MapleMapObjectType.MONSTER))) {
                /*  761 */
                MapleMonster mob = (MapleMonster) monstermo;
                /*  762 */
                map.killMonster(mob, c.getPlayer(), true, false, (byte) 1);

            }
            /*  764 */
            return 1;

        }

    }



       public static class KillAllExp
             extends CommandExecute
             {

        public String getParameter() {
            /*  773 */
            return "<范围> <地图ID> 或留空";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  778 */
            MapleMap map = c.getPlayer().getMap();
            /*  779 */
            double range = Double.POSITIVE_INFINITY;

            /*  781 */
            if (splitted.length > 1) {

                /*  783 */
                int irange = Integer.parseInt(splitted[1]);
                /*  784 */
                if (splitted.length <= 2) {
                    /*  785 */
                    range = (irange * irange);

                } else {
                    /*  787 */
                    map = c.getChannelServer().getMapFactory().getMap(Integer.parseInt(splitted[2]));

                }

            }
            /*  790 */
            if (map == null) {
                /*  791 */
                c.getPlayer().dropMessage(6, "输入的地图不存在.");
                /*  792 */
                return 0;

            }

            /*  795 */
            for (MapleMapObject monstermo : map.getMapObjectsInRange(c.getPlayer().getPosition(), range, Collections.singletonList(MapleMapObjectType.MONSTER))) {
                /*  796 */
                MapleMonster mob = (MapleMonster) monstermo;
                /*  797 */
                mob.damage(c.getPlayer(), mob.getHp(), false);

            }
            /*  799 */
            return 1;

        }

    }



       public static class NPC
             extends CommandExecute
             {

        public String getParameter() {
            /*  808 */
            return "<NPCID>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  813 */
            if (splitted.length < 2) {
                /*  814 */
                c.getPlayer().dropMessage(6, "用法: !NPC " + getParameter());
                /*  815 */
                return 0;

            }
            /*  817 */
            int npcId = Integer.parseInt(splitted[1]);
            /*  818 */
            MapleNPC npc = MapleLifeFactory.getNPC(npcId, c.getPlayer().getMapId());
            /*  819 */
            if (npc != null && !npc.getName().equals("MISSINGNO")) {
                /*  820 */
                npc.setPosition(c.getPlayer().getPosition());
                /*  821 */
                npc.setCy((c.getPlayer().getPosition()).y);
                /*  822 */
                npc.setRx0((c.getPlayer().getPosition()).x + 50);
                /*  823 */
                npc.setRx1((c.getPlayer().getPosition()).x - 50);
                /*  824 */
                npc.setFh(c.getPlayer().getMap().getFootholds().findBelow(c.getPlayer().getPosition(), false).getId());
                /*  825 */
                npc.setCustom(true);
                /*  826 */
                c.getPlayer().getMap().addMapObject((MapleMapObject) npc);
                /*  827 */
                c.getPlayer().getMap().broadcastMessage(NPCPacket.spawnNPC(npc));

            } else {
                /*  829 */
                c.getPlayer().dropMessage(6, "你应该输入一个正确的 Npc-Id");
                /*  830 */
                return 0;

            }
            /*  832 */
            return 1;

        }

    }



       public static class MakeNpc
             extends CommandExecute
             {

        public String getParameter() {
            /*  841 */
            return "<NPCID>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  846 */
            if (splitted.length < 2) {
                /*  847 */
                c.getPlayer().dropMessage(6, "用法: !MakeNpc " + getParameter());
                /*  848 */
                return 0;

            }
            /*  850 */
            int npcId = Integer.parseInt(splitted[1]);
            /*  851 */
            MapleNPC npc = MapleLifeFactory.getNPC(npcId, c.getPlayer().getMapId());
            /*  852 */
            if (npc != null && !npc.getName().equals("MISSINGNO")) {
                /*  853 */
                int xpos = (c.getPlayer().getPosition()).x;
                /*  854 */
                int ypos = (c.getPlayer().getPosition()).y;
                /*  855 */
                int fh = c.getPlayer().getMap().getFootholds().findBelow(c.getPlayer().getPosition(), false).getId();
                /*  856 */
                npc.setPosition(c.getPlayer().getPosition());
                /*  857 */
                npc.setCy(ypos);
                /*  858 */
                npc.setRx0(xpos + 50);
                /*  859 */
                npc.setRx1(xpos - 50);
                /*  860 */
                npc.setFh(fh);
                /*  861 */
                npc.setCustom(true);
                /*  862 */
                try (DruidPooledConnection con = DatabaseConnection.getInstance().getConnection()) {
                    /*  863 */
                    PreparedStatement ps = con.prepareStatement("INSERT INTO spawns ( idd, f, fh, cy, rx0, rx1, type, x, y, mid ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )");
                    /*  864 */
                    ps.setInt(1, npcId);
                    /*  865 */
                    ps.setInt(2, 0);
                    /*  866 */
                    ps.setInt(3, fh);
                    /*  867 */
                    ps.setInt(4, ypos);
                    /*  868 */
                    ps.setInt(4, ypos);
                    /*  869 */
                    ps.setInt(5, xpos + 50);
                    /*  870 */
                    ps.setInt(6, xpos - 50);
                    /*  871 */
                    ps.setString(7, "n");
                    /*  872 */
                    ps.setInt(8, xpos);
                    /*  873 */
                    ps.setInt(9, ypos);
                    /*  874 */
                    ps.setInt(10, c.getPlayer().getMapId());
                    /*  875 */
                    ps.executeUpdate();
                    /*  876 */
                } catch (SQLException e) {
                    /*  877 */
                    c.getPlayer().dropMessage(6, "保存Npc信息到数据库中出现错误.");

                }
                /*  879 */
                c.getPlayer().getMap().addMapObject((MapleMapObject) npc);
                /*  880 */
                c.getPlayer().getMap().broadcastMessage(NPCPacket.spawnNPC(npc));

            } else {
                /*  882 */
                c.getPlayer().dropMessage(6, "你应该输入一个正确的 Npc-Id.");
                /*  883 */
                return 0;

            }
            /*  885 */
            return 1;

        }

    }



       public static class MakeMob
             extends CommandExecute
             {

        public String getParameter() {
            /*  894 */
            return "<怪物ID> <刷新时间 默认按秒计算>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /*  899 */
            if (splitted.length < 3) {
                /*  900 */
                c.getPlayer().dropMessage(6, "用法: !MakeMob " + getParameter());
                /*  901 */
                return 0;

            }
            /*  903 */
            int mobid = Integer.parseInt(splitted[1]);
            /*  904 */
            int mobTime = Integer.parseInt(splitted[2]);
            /*  905 */
            if (splitted[2] == null) {
                /*  906 */
                mobTime = 1;

            }
            /*  908 */
            MapleMonster mob = MapleLifeFactory.getMonster(mobid);
            /*  909 */
            if (mob != null) {
                /*  910 */
                int xpos = (c.getPlayer().getPosition()).x;
                /*  911 */
                int ypos = (c.getPlayer().getPosition()).y;
                /*  912 */
                int fh = c.getPlayer().getMap().getFootholds().findBelow(c.getPlayer().getPosition(), false).getId();
                /*  913 */
                mob.setPosition(c.getPlayer().getPosition());
                /*  914 */
                mob.setCy(ypos);
                /*  915 */
                mob.setRx0(xpos + 50);
                /*  916 */
                mob.setRx1(xpos - 50);
                /*  917 */
                mob.setFh(fh);
                /*  918 */
                try (DruidPooledConnection con = DatabaseConnection.getInstance().getConnection()) {
                    /*  919 */
                    PreparedStatement ps = con.prepareStatement("INSERT INTO spawns ( idd, f, fh, cy, rx0, rx1, type, x, y, mid, mobtime ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )");
                    /*  920 */
                    ps.setInt(1, mobid);
                    /*  921 */
                    ps.setInt(2, 0);
                    /*  922 */
                    ps.setInt(3, fh);
                    /*  923 */
                    ps.setInt(4, ypos);
                    /*  924 */
                    ps.setInt(5, xpos + 50);
                    /*  925 */
                    ps.setInt(6, xpos - 50);
                    /*  926 */
                    ps.setString(7, "m");
                    /*  927 */
                    ps.setInt(8, xpos);
                    /*  928 */
                    ps.setInt(9, ypos);
                    /*  929 */
                    ps.setInt(10, c.getPlayer().getMapId());
                    /*  930 */
                    ps.setInt(11, mobTime);
                    /*  931 */
                    ps.executeUpdate();
                    /*  932 */
                } catch (SQLException e) {
                    /*  933 */
                    c.getPlayer().dropMessage(6, "保存Mob信息到数据库中出现错误.");

                }
                /*  935 */
                c.getPlayer().getMap().addMonsterSpawn(mob, mobTime, (byte) -1, null);

            } else {
                /*  937 */
                c.getPlayer().dropMessage(6, "你应该输入一个正确的 Mob-Id.");
                /*  938 */
                return 0;

            }
            /*  940 */
            return 1;

        }

    }



       public static class MakePNPC
             extends CommandExecute
             {

        public String getParameter() {
            /*  949 */
            return "<角色名> <NPCID>";

        }




        public int execute(MapleClient c, String[] splitted) {

            try {
                /*  955 */
                if (splitted.length < 3) {
                    /*  956 */
                    c.getPlayer().dropMessage(6, "用法: !MakePNPC " + getParameter());
                    /*  957 */
                    return 0;

                }
                /*  959 */
                c.getPlayer().dropMessage(6, "Making playerNPC...");
                /*  960 */
                MapleCharacter chhr = c.getChannelServer().getPlayerStorage().getCharacterByName(splitted[1]);
                /*  961 */
                if (chhr == null) {
                    /*  962 */
                    c.getPlayer().dropMessage(6, splitted[1] + " is not online");
                    /*  963 */
                    return 0;

                }
                /*  965 */
                PlayerNPC npc = new PlayerNPC(chhr, Integer.parseInt(splitted[2]), c.getPlayer().getMap(), c.getPlayer());
                /*  966 */
                npc.addToServer();
                /*  967 */
                c.getPlayer().dropMessage(6, "Done");
                /*  968 */
            } catch (Exception e) {
                /*  969 */
                c.getPlayer().dropMessage(6, "NPC failed... : " + e.getMessage());

            }
            /*  971 */
            return 1;

        }

    }



       public static class MakeOfflineP
             extends CommandExecute
             {

        public String getParameter() {
            /*  980 */
            return "<角色ID> <NPCID>";

        }




        public int execute(MapleClient c, String[] splitted) {

            try {
                /*  986 */
                if (splitted.length < 3) {
                    /*  987 */
                    c.getPlayer().dropMessage(6, "用法: !MakeOfflineP " + getParameter());
                    /*  988 */
                    return 0;

                }
                /*  990 */
                c.getPlayer().dropMessage(6, "Making playerNPC...");
                /*  991 */
                MapleClient cs = new MapleClient(null, null, null);
                /*  992 */
                MapleCharacter chhr = MapleCharacter.loadCharFromDB(MapleCharacterUtil.getIdByName(splitted[1]), cs, false);
                /*  993 */
                if (chhr == null) {
                    /*  994 */
                    c.getPlayer().dropMessage(6, splitted[1] + " does not exist");
                    /*  995 */
                    return 0;

                }
                /*  997 */
                PlayerNPC npc = new PlayerNPC(chhr, Integer.parseInt(splitted[2]), c.getPlayer().getMap(), c.getPlayer());
                /*  998 */
                npc.addToServer();
                /*  999 */
                c.getPlayer().dropMessage(6, "Done");
                /* 1000 */
            } catch (Exception e) {
                /* 1001 */
                c.getPlayer().dropMessage(6, "NPC failed... : " + e.getMessage());

            }
            /* 1003 */
            return 1;

        }

    }



       public static class DestroyPNPC
             extends CommandExecute
             {

        public String getParameter() {
            /* 1012 */
            return "<NPCOID>";

        }




        public int execute(MapleClient c, String[] splitted) {

            try {
                /* 1018 */
                if (splitted.length < 2) {
                    /* 1019 */
                    c.getPlayer().dropMessage(6, "用法: !DestroyPNPC " + getParameter());
                    /* 1020 */
                    return 0;

                }
                /* 1022 */
                c.getPlayer().dropMessage(6, "Destroying playerNPC...");
                /* 1023 */
                MapleNPC npc = c.getPlayer().getMap().getNPCByOid(Integer.parseInt(splitted[1]));
                /* 1024 */
                if (npc instanceof PlayerNPC) {
                    /* 1025 */
                    ((PlayerNPC) npc).destroy(null, true);
                    /* 1026 */
                    c.getPlayer().dropMessage(6, "Done");

                } else {
                    /* 1028 */
                    c.getPlayer().dropMessage(6, "!destroypnpc [objectid]");

                }
                /* 1030 */
            } catch (Exception e) {
                /* 1031 */
                c.getPlayer().dropMessage(6, "NPC failed... : " + e.getMessage());

            }
            /* 1033 */
            return 1;

        }

    }



       public static class ServerMessage
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /* 1042 */
            String outputMessage = StringUtil.joinStringFrom(splitted, 1);
            /* 1043 */
            ServerConfig.LOGIN_SERVERMESSAGE = outputMessage;
            /* 1044 */
            for (ChannelServer cserv : ChannelServer.getAllInstances()) {
                /* 1045 */
                cserv.setServerMessage(outputMessage);

            }
            /* 1047 */
            return 1;

        }

    }



       public static class Spawn
             extends CommandExecute
             {

        public String getParameter() {
            /* 1056 */
            return "<怪物ID> <怪物数量> [lvl/hp/exp/php/pexp 值]";

        }



        public int execute(MapleClient c, String[] splitted) {

            MapleMonster onemob;
            /* 1061 */
            if (splitted.length < 2) {
                /* 1062 */
                c.getPlayer().dropMessage(6, "用法: !Spawn " + getParameter());
                /* 1063 */
                return 0;

            }
            /* 1065 */
            int mid = Integer.parseInt(splitted[1]);
            /* 1066 */
            int num = Math.min(CommandProcessorUtil.getOptionalIntArg(splitted, 2, 1), 50000);
            /* 1067 */
            Integer level = CommandProcessorUtil.getNamedIntArg(splitted, 1, "lvl");
            /* 1068 */
            Long hp = CommandProcessorUtil.getNamedLongArg(splitted, 1, "hp");
            /* 1069 */
            Integer exp = CommandProcessorUtil.getNamedIntArg(splitted, 1, "exp");
            /* 1070 */
            Double php = CommandProcessorUtil.getNamedDoubleArg(splitted, 1, "php");
            /* 1071 */
            Double pexp = CommandProcessorUtil.getNamedDoubleArg(splitted, 1, "pexp");



            try {
                /* 1075 */
                onemob = MapleLifeFactory.getMonster(mid);
                /* 1076 */
            } catch (RuntimeException e) {
                /* 1077 */
                c.getPlayer().dropMessage(5, "错误: " + e.getMessage());
                /* 1078 */
                return 0;

            }
            /* 1080 */
            if (onemob == null) {
                /* 1081 */
                c.getPlayer().dropMessage(5, "输入的怪物不存在.");
                /* 1082 */
                return 0;

            }
            /* 1084 */
            long newhp = 0L;
            /* 1085 */
            int newexp = 0;
            /* 1086 */
            if (hp != null) {
                /* 1087 */
                newhp = hp.longValue();
                /* 1088 */
            } else if (php != null) {
                /* 1089 */
                newhp = (long) (onemob.getMobMaxHp() * php.doubleValue() / 100.0D);

            } else {
                /* 1091 */
                newhp = onemob.getMobMaxHp();

            }
            /* 1093 */
            if (exp != null) {
                /* 1094 */
                newexp = exp.intValue();
                /* 1095 */
            } else if (pexp != null) {
                /* 1096 */
                newexp = (int) (onemob.getMobExp() * pexp.doubleValue() / 100.0D);

            } else {
                /* 1098 */
                newexp = onemob.getMobExp();

            }
            /* 1100 */
            if (newhp < 1L) {
                /* 1101 */
                newhp = 1L;

            }

            /* 1104 */
            OverrideMonsterStats overrideStats = new OverrideMonsterStats(newhp, onemob.getMobMaxMp(), newexp, false);

            /* 1106 */
            for (int i = 0; i < num; i++) {
                /* 1107 */
                MapleMonster mob = MapleLifeFactory.getMonster(mid);
                /* 1108 */
                mob.setHp(newhp);
                /* 1109 */
                if (level != null) {
                    /* 1110 */
                    mob.changeLevel(level.intValue(), false);

                } else {
                    /* 1112 */
                    mob.setOverrideStats(overrideStats);

                }
                /* 1114 */
                c.getPlayer().getMap().spawnMonsterOnGroundBelow(mob, c.getPlayer().getPosition());

            }
            /* 1116 */
            return 1;

        }

    }



       public static class PS
             extends CommandExecute
             {
        /* 1124 */     protected static StringBuilder builder = new StringBuilder();




        public int execute(MapleClient c, String[] splitted) {
            /* 1128 */
            if (builder.length() > 1) {
                /* 1129 */
                c.announce(MaplePacketCreator.getPacketFromHexString(builder.toString()));
                /* 1130 */
                builder = new StringBuilder();

            } else {
                /* 1132 */
                c.getPlayer().dropMessage(6, "请输入要测试的数据包信息!");

            }
            /* 1134 */
            return 1;

        }

    }



       public static class APS
             extends PS
             {

        public int execute(MapleClient c, String[] splitted) {
            /* 1143 */
            if (splitted.length > 1) {
                /* 1144 */
                builder.append(StringUtil.joinStringFrom(splitted, 1));
                /* 1145 */
                c.getPlayer().dropMessage(6, "String is now: " + builder.toString());

            } else {
                /* 1147 */
                c.getPlayer().dropMessage(6, "请输入要测试的数据包信息!");

            }
            /* 1149 */
            return 1;

        }

    }



       public static class CPS
             extends PS
             {

        public int execute(MapleClient c, String[] splitted) {
            /* 1158 */
            builder = new StringBuilder();
            /* 1159 */
            return 1;

        }

    }



       public static class P
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /* 1168 */
            if (splitted.length > 1) {
                /* 1169 */
                c.announce(MaplePacketCreator.getPacketFromHexString(StringUtil.joinStringFrom(splitted, 1)));

            } else {
                /* 1171 */
                c.getPlayer().dropMessage(6, "请输入要测试的数据包信息!");

            }
            /* 1173 */
            return 1;

        }

    }



       public static class Packet
             extends P {
    }



       public static class ReloadMap
             extends CommandExecute
             {

        public String getParameter() {
            /* 1186 */
            return "<地图ID>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /* 1191 */
            if (splitted.length < 2) {
                /* 1192 */
                c.getPlayer().dropMessage(6, "用法: !ReloadMap " + getParameter());
                /* 1193 */
                return 0;

            }
            /* 1195 */
            int mapId = Integer.parseInt(splitted[1]);
            /* 1196 */
            for (ChannelServer cserv : ChannelServer.getAllInstances()) {
                /* 1197 */
                if (cserv.getMapFactory().isMapLoaded(mapId) && cserv.getMapFactory().getMap(mapId).getCharactersSize() > 0) {
                    /* 1198 */
                    c.getPlayer().dropMessage(5, "There exists characters on channel " + cserv.getChannel());
                    /* 1199 */
                    return 0;

                }

            }
            /* 1202 */
            for (ChannelServer cserv : ChannelServer.getAllInstances()) {
                /* 1203 */
                if (cserv.getMapFactory().isMapLoaded(mapId)) {
                    /* 1204 */
                    cserv.getMapFactory().removeMap(mapId);

                }

            }
            /* 1207 */
            return 1;

        }

    }



       public static class Respawn
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /* 1216 */
            c.getPlayer().getMap().respawn(true);
            /* 1217 */
            return 1;

        }

    }



       public static abstract class TestTimer
             extends CommandExecute
             {
        /* 1225 */     protected Timer toTest = null;




        public int execute(MapleClient c, String[] splitted) {
            /* 1229 */
            int sec = Integer.parseInt(splitted[1]);
            /* 1230 */
            c.getPlayer().dropMessage(5, "Message will pop up in " + sec + " seconds.");
            /* 1231 */
            c.getPlayer().dropMessage(5, "Active: " + this.toTest.getSES().getActiveCount() + " Core: " + this.toTest.getSES().getCorePoolSize() + " Largest: " + this.toTest.getSES().getLargestPoolSize() + " Max: " + this.toTest.getSES().getMaximumPoolSize() + " Current: " + this.toTest.getSES().getPoolSize() + " Status: " + this.toTest.getSES().isShutdown() + this.toTest.getSES().isTerminated() + this.toTest.getSES().isTerminating());
            /* 1232 */
            long oldMillis = System.currentTimeMillis();
            /* 1233 */
            this.toTest.schedule(() -> {
                c.getPlayer().dropMessage(5, "Message has popped up in " + ((System.currentTimeMillis() - oldMillis) / 1000L) + " seconds, expected was " + sec + " seconds");
                c.getPlayer().dropMessage(5, "Active: " + this.toTest.getSES().getActiveCount() + " Core: " + this.toTest.getSES().getCorePoolSize() + " Largest: " + this.toTest.getSES().getLargestPoolSize() + " Max: " + this.toTest.getSES().getMaximumPoolSize() + " Current: " + this.toTest.getSES().getPoolSize() + " Status: " + this.toTest.getSES().isShutdown() + this.toTest.getSES().isTerminated() + this.toTest.getSES().isTerminating());
            }, (sec * 1000));



            /* 1237 */
            return 1;

        }

    }








       public static class TestEventTimer
             extends TestTimer {
    }








       public static class TestCloneTimer
             extends TestTimer {
    }







       public static class TestEtcTimer
             extends TestTimer {
    }







       public static class TestMapTimer
             extends TestTimer {
    }







       public static class TestWorldTimer
             extends TestTimer {
    }







       public static class TestBuffTimer
             extends TestTimer {
    }







       public static class Crash
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /* 1300 */
            MapleCharacter victim = c.getChannelServer().getPlayerStorage().getCharacterByName(splitted[1]);
            /* 1301 */
            if (victim != null && c.getPlayer().getGMLevel() >= victim.getGMLevel()) {
                /* 1302 */
                victim.getClient().announce(HexTool.getByteArrayFromHexString("1A 00"));
                /* 1303 */
                return 1;

            }
            /* 1305 */
            c.getPlayer().dropMessage(6, "The victim does not exist.");
            /* 1306 */
            return 0;

        }

    }



       public static class Rev
             extends CommandExecute
             {
        /* 1314 */     private static int revision = -1;






        public static int getRevision() {
            /* 1320 */
            if (revision != -1) {
                /* 1321 */
                return revision;

            }
            /* 1323 */
            InputStream svninfo = AdminCommand.class.getResourceAsStream("/all-wcprops");
            /* 1324 */
            if (svninfo == null) {
                /* 1325 */
                return revision;

            }
            /* 1327 */
            Scanner sc = new Scanner(svninfo);
            /* 1328 */
            while (sc.hasNext()) {
                /* 1329 */
                String[] s = sc.next().split("/");
                /* 1330 */
                if (s.length > 1 && s[1].equals("svn")) {
                    /* 1331 */
                    revision = Integer.parseInt(s[5]);

                    break;

                }

            }
            /* 1335 */
            sc.close();

            /* 1337 */
            return revision;

        }




        public int execute(MapleClient c, String[] splitted) {
            /* 1342 */
            MapleCharacter player = c.getPlayer();
            /* 1343 */
            if (getRevision() != -1) {
                /* 1344 */
                player.dropMessage(5, "This is revision " + revision + ".");

            } else {
                /* 1346 */
                player.dropMessage(5, "Can't find revision T_T");

            }
            /* 1348 */
            return 1;

        }

    }



       public static class FillBook
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /* 1357 */
            for (Iterator<Integer> iterator = MapleItemInformationProvider.getInstance().getMonsterBook().keySet().iterator(); iterator.hasNext(); ) {
                int e = ((Integer) iterator.next()).intValue();
                /* 1358 */
                c.getPlayer().getMonsterBook().getCards().put(Integer.valueOf(e), Integer.valueOf(2));
            }

            /* 1360 */
            c.getPlayer().getMonsterBook().changed();
            /* 1361 */
            c.getPlayer().dropMessage(5, "完成.");
            /* 1362 */
            return 1;

        }

    }



       public static class ListBook
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /* 1371 */
            List<Map.Entry<Integer, Integer>> mbList = new ArrayList<>(MapleItemInformationProvider.getInstance().getMonsterBook().entrySet());
            /* 1372 */
            mbList.sort(new BookComparator());
            /* 1373 */
            int page = Integer.parseInt(splitted[1]);
            /* 1374 */
            for (int e = page * 8; e < Math.min(mbList.size(), (page + 1) * 8); e++) {
                /* 1375 */
                c.getPlayer().dropMessage(6, e + ": " + ((Map.Entry) mbList.get(e)).getKey() + " - " + ((Map.Entry) mbList.get(e)).getValue());

            }
            /* 1377 */
            return 0;

        }




             public static class BookComparator
                 implements Comparator<Map.Entry<Integer, Integer>>, Serializable
                 {
                   private static final long serialVersionUID = 4610445413085711114L;





            public int compare(Map.Entry<Integer, Integer> o1, Map.Entry<Integer, Integer> o2) {
                /* 1390 */
                if (((Integer) o1.getValue()).intValue() > ((Integer) o2.getValue()).intValue())
                    /* 1391 */ return 1;
                /* 1392 */
                if (o1.getValue() == o2.getValue()) {
                    /* 1393 */
                    return 0;

                }
                /* 1395 */
                return -1;

            }

        }

    }




       public static class FillPokedex
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /* 1406 */
            for (BattleConstants.PokedexEntry e : BattleConstants.getAllPokedex()) {
                /* 1407 */
                c.getPlayer().getMonsterBook().getCards().put(Integer.valueOf(e.id), Integer.valueOf(2));

            }
            /* 1409 */
            c.getPlayer().getMonsterBook().changed();
            /* 1410 */
            c.getPlayer().dropMessage(5, "操作完成.");
            /* 1411 */
            return 1;

        }

    }



       public static class SeePokedex
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /* 1420 */
            for (BattleConstants.PokedexEntry e : BattleConstants.getAllPokedex()) {
                /* 1421 */
                c.getPlayer().getMonsterBook().getCards().put(Integer.valueOf(e.id), Integer.valueOf(1));

            }
            /* 1423 */
            c.getPlayer().getMonsterBook().changed();
            /* 1424 */
            c.getPlayer().dropMessage(5, "操作完成.");
            /* 1425 */
            return 1;

        }

    }



       public static class ClearPokedex
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /* 1434 */
            c.getPlayer().getMonsterBook().getCards().clear();
            /* 1435 */
            c.getPlayer().getMonsterBook().changed();
            /* 1436 */
            c.getPlayer().dropMessage(5, "操作完成.");
            /* 1437 */
            return 1;

        }

    }



       public static class GetPokemon
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /* 1446 */
            if (c.getPlayer().countBattlers() >= 6 || splitted.length < 2) {
                /* 1447 */
                c.getPlayer().dropMessage(5, "You have 6 pokemons already, !getpokemon <mobID>");
                /* 1448 */
                return 0;

            }
            /* 1450 */
            MapleMonsterStats theMob = MapleLifeFactory.getMonsterStats(Integer.parseInt(splitted[1]));
            /* 1451 */
            if (theMob == null) {
                /* 1452 */
                c.getPlayer().dropMessage(5, "输入的怪物ID不存在.");
                /* 1453 */
                return 0;

            }
            /* 1455 */
            Battler theB = new Battler(theMob.getLevel(), 0, c.getPlayer().getId(), theMob.getId(), theMob.getName(), BattleConstants.PokemonNature.randomNature(), 0, (byte) -1, (byte) 100, (byte) 100, (byte) 100, (byte) 100, (byte) 100, (byte) 100, (byte) 100, (byte) 100, (byte) Randomizer.nextInt(2));
            /* 1456 */
            if (theB.getFamily() == null) {
                /* 1457 */
                c.getPlayer().dropMessage(5, "mob cannot be used in pokemon.");
                /* 1458 */
                return 0;

            }
            /* 1460 */
            c.getPlayer().getBattlers()[c.getPlayer().countBattlers()] = theB;
            /* 1461 */
            c.getPlayer().getMonsterBook().monsterCaught(c, theMob.getId(), theMob.getName());
            /* 1462 */
            c.getPlayer().changedBattler();
            /* 1463 */
            c.getPlayer().dropMessage(6, "操作完成.");
            /* 1464 */
            return 1;

        }

    }



       public static class ResetMap
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /* 1473 */
            c.getPlayer().getMap().resetFully();
            /* 1474 */
            c.getPlayer().dropMessage(6, "地图重置完成.");
            /* 1475 */
            return 1;

        }

    }



       public static class ResetQuest
             extends CommandExecute
             {

        public String getParameter() {
            /* 1484 */
            return "<任务ID>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /* 1489 */
            if (splitted.length < 2) {
                /* 1490 */
                c.getPlayer().dropMessage(6, "用法: !ResetQuest " + getParameter());
                /* 1491 */
                return 0;

            }
            /* 1493 */
            MapleQuest.getInstance(Integer.parseInt(splitted[1])).forfeit(c.getPlayer());
            /* 1494 */
            return 1;

        }

    }



       public static class StartQuest
             extends CommandExecute
             {

        public String getParameter() {
            /* 1503 */
            return "<任务ID> <NPCID>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /* 1508 */
            if (splitted.length < 3) {
                /* 1509 */
                c.getPlayer().dropMessage(6, "用法: !StartQuest " + getParameter());
                /* 1510 */
                return 0;

            }
            /* 1512 */
            MapleQuest.getInstance(Integer.parseInt(splitted[1])).start(c.getPlayer(), Integer.parseInt(splitted[2]));
            /* 1513 */
            return 1;

        }

    }



       public static class CompleteQuest
             extends CommandExecute
             {

        public String getParameter() {
            /* 1522 */
            return "<任务ID> <NPCID>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /* 1527 */
            if (splitted.length < 3) {
                /* 1528 */
                c.getPlayer().dropMessage(6, "用法: !CompleteQuest " + getParameter());
                /* 1529 */
                return 0;

            }
            /* 1531 */
            MapleQuest.getInstance(Integer.parseInt(splitted[1])).complete(c.getPlayer(), Integer.parseInt(splitted[2]), Integer.valueOf(Integer.parseInt(splitted[3])));
            /* 1532 */
            return 1;

        }

    }



       public static class FStartQuest
             extends CommandExecute
             {

        public String getParameter() {
            /* 1541 */
            return "<任务ID> <NPCID> [任务数据]";

        }




        public int execute(MapleClient c, String[] splitted) {
            /* 1546 */
            if (splitted.length < 3) {
                /* 1547 */
                c.getPlayer().dropMessage(6, "用法: !FStartQuest " + getParameter());
                /* 1548 */
                return 0;

            }
            /* 1550 */
            MapleQuest.getInstance(Integer.parseInt(splitted[1])).forceStart(c.getPlayer(), Integer.parseInt(splitted[2]), (splitted.length >= 4) ? splitted[3] : null);
            /* 1551 */
            return 1;

        }

    }



       public static class FCompleteQuest
             extends CommandExecute
             {

        public String getParameter() {
            /* 1560 */
            return "<任务ID> <NPCID>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /* 1565 */
            if (splitted.length < 3) {
                /* 1566 */
                c.getPlayer().dropMessage(6, "用法: !FCompleteQuest " + getParameter());
                /* 1567 */
                return 0;

            }
            /* 1569 */
            MapleQuest.getInstance(Integer.parseInt(splitted[1])).forceComplete(c.getPlayer(), Integer.parseInt(splitted[2]));
            /* 1570 */
            return 1;

        }

    }



       public static class HReactor
             extends CommandExecute
             {

        public String getParameter() {
            /* 1579 */
            return "<ReactorOID>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /* 1584 */
            if (splitted.length < 2) {
                /* 1585 */
                c.getPlayer().dropMessage(6, "用法: !HReactor " + getParameter());
                /* 1586 */
                return 0;

            }
            /* 1588 */
            c.getPlayer().getMap().getReactorByOid(Integer.parseInt(splitted[1])).hitReactor(c);
            /* 1589 */
            return 1;

        }

    }



       public static class FHReactor
             extends CommandExecute
             {

        public String getParameter() {
            /* 1598 */
            return "<ReactorID> <状态>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /* 1603 */
            if (splitted.length < 3) {
                /* 1604 */
                c.getPlayer().dropMessage(6, "用法: !FHReactor " + getParameter());
                /* 1605 */
                return 0;

            }
            /* 1607 */
            c.getPlayer().getMap().getReactorByOid(Integer.parseInt(splitted[1])).forceHitReactor(Byte.parseByte(splitted[2]));
            /* 1608 */
            return 1;

        }

    }



       public static class DReactor
             extends CommandExecute
             {

        public String getParameter() {
            /* 1617 */
            return "<ReactorID 或 all>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /* 1622 */
            if (splitted.length < 2) {
                /* 1623 */
                c.getPlayer().dropMessage(6, "用法: !DReactor " + getParameter());
                /* 1624 */
                return 0;

            }
            /* 1626 */
            MapleMap map = c.getPlayer().getMap();
            /* 1627 */
            List<MapleMapObject> reactors = map.getMapObjectsInRange(c.getPlayer().getPosition(), Double.POSITIVE_INFINITY, Collections.singletonList(MapleMapObjectType.REACTOR));
            /* 1628 */
            if (splitted[1].equals("all")) {
                /* 1629 */
                for (MapleMapObject reactorL : reactors) {
                    /* 1630 */
                    MapleReactor reactor2l = (MapleReactor) reactorL;
                    /* 1631 */
                    c.getPlayer().getMap().destroyReactor(reactor2l.getObjectId());

                }

            } else {
                /* 1634 */
                c.getPlayer().getMap().destroyReactor(Integer.parseInt(splitted[1]));

            }
            /* 1636 */
            return 1;

        }

    }



       public static class SetReactor
             extends CommandExecute
             {

        public String getParameter() {
            /* 1645 */
            return "<状态>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /* 1650 */
            if (splitted.length < 2) {
                /* 1651 */
                c.getPlayer().dropMessage(6, "用法: !SetReactor " + getParameter());
                /* 1652 */
                return 0;

            }
            /* 1654 */
            c.getPlayer().getMap().setReactorState(Byte.parseByte(splitted[1]));
            /* 1655 */
            return 1;

        }

    }



       public static class ResetReactor
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /* 1664 */
            c.getPlayer().getMap().resetReactors();
            /* 1665 */
            return 1;

        }

    }



       public static class SendAllNote
             extends CommandExecute
             {

        public String getParameter() {
            /* 1674 */
            return "<文本内容>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /* 1679 */
            if (splitted.length >= 1) {
                /* 1680 */
                String text = StringUtil.joinStringFrom(splitted, 1);
                /* 1681 */
                for (MapleCharacter mch : c.getChannelServer().getPlayerStorage().getAllCharacters()) {
                    /* 1682 */
                    c.getPlayer().sendNote(mch.getName(), text);
                    /* 1683 */
                    if (mch != null) {
                        /* 1684 */
                        mch.showNote();

                    }

                }

            } else {
                /* 1688 */
                c.getPlayer().dropMessage(6, "用法: !sendallnote " + getParameter());
                /* 1689 */
                return 0;

            }
            /* 1691 */
            return 1;

        }

    }



       public static class BuffSkill
             extends CommandExecute
             {

        public String getParameter() {
            /* 1700 */
            return "<技能ID> <技能等级>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /* 1705 */
            if (splitted.length < 2) {
                /* 1706 */
                c.getPlayer().dropMessage(6, "用法: !BuffSkill " + getParameter());
                /* 1707 */
                return 0;

            }
            /* 1709 */
            SkillFactory.getSkill(Integer.parseInt(splitted[1])).getEffect(Integer.parseInt(splitted[2])).applyTo(c.getPlayer());
            /* 1710 */
            return 1;

        }

    }



       public static class BuffItem
             extends CommandExecute
             {

        public String getParameter() {
            /* 1719 */
            return "<道具ID>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /* 1724 */
            if (splitted.length < 1) {
                /* 1725 */
                c.getPlayer().dropMessage(6, "用法: !BuffItem " + getParameter());
                /* 1726 */
                return 0;

            }
            /* 1728 */
            int itemId = Integer.parseInt(splitted[1]);
            /* 1729 */
            MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
            /* 1730 */
            if (!ii.itemExists(itemId)) {
                /* 1731 */
                c.getPlayer().dropMessage(5, itemId + " 这个道具不存在.");
                /* 1732 */
                return 0;

            }
            /* 1734 */
            ii.getItemEffect(Integer.parseInt(splitted[1])).applyTo(c.getPlayer());
            /* 1735 */
            return 1;

        }

    }



       public static class BuffItemEX
             extends CommandExecute
             {

        public String getParameter() {
            /* 1744 */
            return "<道具ID>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /* 1749 */
            if (splitted.length < 1) {
                /* 1750 */
                c.getPlayer().dropMessage(6, "用法: !BuffItemEX " + getParameter());
                /* 1751 */
                return 0;

            }
            /* 1753 */
            int itemId = Integer.parseInt(splitted[1]);
            /* 1754 */
            MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
            /* 1755 */
            if (!ii.itemExists(itemId)) {
                /* 1756 */
                c.getPlayer().dropMessage(5, itemId + " 这个道具不存在.");
                /* 1757 */
                return 0;

            }
            /* 1759 */
            ii.getItemEffectEX(itemId).applyTo(c.getPlayer());
            /* 1760 */
            return 1;

        }

    }



       public static class ItemSize
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /* 1769 */
            c.getPlayer().dropMessage(6, "当前加载的物品数量: " + MapleItemInformationProvider.getInstance().getAllItemSize());
            /* 1770 */
            return 1;

        }

    }



       public static class effectnotice
             extends CommandExecute
             {

        public String getParameter() {
            /* 1779 */
            return "<道具ID> <公告信息>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /* 1784 */
            if (splitted.length < 3) {
                /* 1785 */
                c.getPlayer().dropMessage(6, "用法: !effectnotice " + getParameter());
                /* 1786 */
                return 0;

            }
            /* 1788 */
            int itemId = Integer.parseInt(splitted[1]);
            /* 1789 */
            MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
            /* 1790 */
            if (!ii.itemExists(itemId)) {
                /* 1791 */
                c.getPlayer().dropMessage(5, itemId + " 这个道具不存在.");
                /* 1792 */
                return 0;
                /* 1793 */
            }
            if (!ii.isFloatCashItem(itemId)) {
                /* 1794 */
                c.getPlayer().dropMessage(5, itemId + " 不具有漂浮公告的效果.");
                /* 1795 */
                return 0;

            }
            /* 1797 */
            WorldBroadcastService.getInstance().startMapEffect(StringUtil.joinStringFrom(splitted, 2), itemId);
            /* 1798 */
            return 1;

        }

    }



       public static class resetrank
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /* 1807 */
            RankingTop.getInstance().initAll();
            /* 1808 */
            c.getPlayer().dropMessage(5, "排行榜刷新完成");
            /* 1809 */
            return 1;

        }

    }


       public static class checkGames
             extends CommandExecute
             {

        public String getParameter() {
            /* 1817 */
            return "<进程名/MD5>";

        }




        public int execute(MapleClient c, String[] splitted) {
            /* 1822 */
            if (splitted.length < 2) {
                /* 1823 */
                c.getPlayer().dropMessage(6, splitted[0] + " 使用方法：!checkGames " + getParameter());
                /* 1824 */
                return 0;

            }
            /* 1826 */
            int i = 0;
            /* 1827 */
            for (ChannelServer ch : ChannelServer.getAllInstances()) {
                /* 1828 */
                for (MapleCharacter chr : ch.getPlayerStorage().getAllCharacters()) {
                    /* 1829 */
                    for (MapleProcess mp : chr.getProcess()) {
                        /* 1830 */
                        if (mp.getMD5().equalsIgnoreCase(splitted[1]) || mp.getName().toLowerCase().contains(splitted[1].toLowerCase())) {
                            /* 1831 */
                            c.getPlayer().dropMessage(5, "角色：" + chr.getName() + " 进程【\"" + mp.getPath() + "\" MD5：\"" + mp.getMD5() + "\"】");
                            /* 1832 */
                            i++;

                        }

                    }

                }

            }
            /* 1837 */
            c.getPlayer().dropMessage(5, "进程检查完成，本次共检测到" + i + "个。");
            /* 1838 */
            return 1;

        }

    }


       public static class resetsign
             extends CommandExecute
             {

        public int execute(MapleClient c, String[] splitted) {
            /* 1846 */
            MapleSignin.getInstance().reload(true);
            /* 1847 */
            c.dropMessage("签到奖励重载完成！");
            /* 1848 */
            return 1;

        }

    }

}


/* Location:              C:\PGX\Server.jar!\server\commands\SuperGMCommand.class
 * Java compiler version: 8 (52.0)
 * JD-Core Version:       1.1.3
 */